

class OrderModel {
  String? commandId;
  Data? data;
  String? returncode;

  OrderModel({this.commandId, this.data, this.returncode});

  OrderModel.fromJson(Map<String, dynamic> json) {
    try{
      commandId = json['commandId']!=null?json['commandId']:"";
      data = json['data'] != null ? new Data.fromJson(json['data']) : null;
      returncode = json['returncode'];
    }catch(e){
    }

  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['commandId'] = this.commandId;
    if (this.data != null) {
      data['data'] = this.data!.toJson();
    }
    data['returncode'] = this.returncode;
    return data;
  }
}

class Data {
  num? achievePoints;
  num? experience;
  Order? order;
  List<Null>? popInfo;
  num? rePrintCnt;
  List<OriginGoodsList>? originGoodsList;
  List<OriginSalePayments>? originSalePayments;
  List<CouponGain>? couponGain;
  String? resultMode;
  List<GoodsList>? gifts;
  List<GoodsList>? noPriceGiftList;

  Data({
    this.achievePoints,
    this.experience,
    this.order,
    this.popInfo,
    this.rePrintCnt,
    this.originGoodsList,
    this.originSalePayments,
    this.couponGain,
    this.resultMode,
    this.gifts,
    this.noPriceGiftList
  });

  Data.fromJson(Map<String, dynamic> json) {
    achievePoints = json['achievePoints'];
    experience = json['experience'];
    order = json['order'] != null ?  Order.fromJson(json['order']) : null;
    if (json['originGoodsList'] != null) {
      originGoodsList =  <OriginGoodsList>[];
      json['originGoodsList'].forEach((v) {
        originGoodsList!.add(new OriginGoodsList.fromJson(v));
      });
    }
    if (json['originSalePayments'] != null) {
      originSalePayments = <OriginSalePayments>[];
      json['originSalePayments'].forEach((v) {
        originSalePayments!.add(new OriginSalePayments.fromJson(v));
      });
    }
    if (json['couponGain'] != null) {
      couponGain =  <CouponGain>[];
      json['couponGain'].forEach((v) {
        couponGain!.add(new CouponGain.fromJson(v));
      });
    }
    rePrintCnt = json['rePrintCnt'];
    resultMode = json['resultMode'];
    if (json['gifts'] != null) {
      gifts = <GoodsList>[];
      json['gifts'].forEach((v) {
        gifts!.add(new GoodsList.fromJson(v));
      });
    }

    if (json['noPriceGiftList'] != null) {
      noPriceGiftList = <GoodsList>[];
      json['noPriceGiftList'].forEach((v) {
        noPriceGiftList!.add( GoodsList.fromJson(v));
      });
    }

  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data =  Map<String, dynamic>();
    data['achievePoints'] = this.achievePoints;
    data['experience'] = this.experience;
    if (this.order != null) {
      data['order'] = this.order!.toJson();
    }
    if (this.originGoodsList != null) {
      data['originGoodsList'] =
          this.originGoodsList!.map((v) => v.toJson()).toList();
    }
    if (this.originSalePayments != null) {
      data['originSalePayments'] =
          this.originSalePayments!.map((v) => v.toJson()).toList();
    }
//    if (this.popInfo != null) {
//      data['popInfo'] = this.popInfo.map((v) => v.toJson()).toList();
//    }

    data['rePrintCnt'] = this.rePrintCnt;
    if (this.couponGain != null) {
      data['originSalePayments'] =
          this.couponGain!.map((v) => v.toJson()).toList();
    }
    data['resultMode'] = this.resultMode;
    if (this.gifts != null) {
      data['gifts'] = this.gifts!.map((v) => v.toJson()).toList();
    }

    if (this.noPriceGiftList != null) {
      data['noPriceGiftList'] = this.noPriceGiftList!.map((v) => v.toJson()).toList();
    }
    return data;
  }
}


class OriginGoodsList {

  num? adjustDiscountValue;
  num? allowReturnCopies;
  String? assistantId;
  String? barNo;
  num? barcodeDiscount;
  num? bonusPointAmount;
  String? brand;
  String? category;
  List<Null>? categoryPropertys;
  bool? controlFlag;
  num? couponValue;
  num? customDiscountValue;
  num? dzcDiscountValue;
  num? eWCCodeAmount;
  num? eWCCodeNum;
  num? eatWay;
  num? electronicStamp;
  String? escaleFlag;
  num? fixedDiscountValue;
  String? flag;
  num? flowId;
  String? goodsCode;
  String? goodsName;
  String? goodsNo;
  String? goodsType;
  String? guid;
  String? klm;
  num? license;
  num? listPrice;
  num? mealDiscountValue;
  num? memberPrice;
  String? orgCode;
  num? overageValue;
  num? partsNum;
  num? payDiscountValue;
  num? pcs;
  num? physicalStamp;
  List<Null>? popDetails;
  num? popDiscountValue;
  List<Null>? popGains;
  List<Null>? popReverses;
  List<Null>? popUses;
  num? processFlag;
  bool? prtDuplFlag;
  num? qty;
  num? realSalePrice;
  num? realTotalDiscountValue;
  num? realSaleValueDzc;
  num? realTotalDiscountValueDzc;
  num? recycleFee;
  num? saleAmount;
  num? salePrice;
  num? saleValue;
  num? stock;
  num? tempZkDiscount;
  num? tempZkl;
  num? tempZrDiscount;
  num? tempZzkDiscount;
  num? tempZzrDiscount;
  num? totalDiscountValue;
  String? venderCode;
  String? venderId;
  num? weight;
  num? wholeSalePrice;

  OriginGoodsList(
      {this.adjustDiscountValue,
        this.allowReturnCopies,
        this.assistantId,
        this.barNo,
        this.barcodeDiscount,
        this.bonusPointAmount,
        this.brand,
        this.category,
        this.categoryPropertys,
        this.controlFlag,
        this.couponValue,
        this.customDiscountValue,
        this.dzcDiscountValue,
        this.eWCCodeAmount,
        this.eWCCodeNum,
        this.eatWay,
        this.electronicStamp,
        this.escaleFlag,
        this.fixedDiscountValue,
        this.flag,
        this.flowId,
        this.goodsCode,
        this.goodsName,
        this.goodsNo,
        this.goodsType,
        this.guid,
        this.klm,
        this.license,
        this.listPrice,
        this.mealDiscountValue,
        this.memberPrice,
        this.orgCode,
        this.overageValue,
        this.partsNum,
        this.payDiscountValue,
        this.pcs,
        this.physicalStamp,
        this.popDetails,
        this.popDiscountValue,
        this.popGains,
        this.popReverses,
        this.popUses,
        this.processFlag,
        this.prtDuplFlag,
        this.qty,
        this.realSalePrice,
        this.realTotalDiscountValue,
        this.realSaleValueDzc,
        this.recycleFee,
        this.saleAmount,
        this.salePrice,
        this.saleValue,
        this.stock,
        this.tempZkDiscount,
        this.tempZkl,
        this.tempZrDiscount,
        this.tempZzkDiscount,
        this.tempZzrDiscount,
        this.totalDiscountValue,
        this.realTotalDiscountValueDzc,
        this.venderCode,
        this.venderId,
        this.weight,
        this.wholeSalePrice});

  OriginGoodsList.fromJson(Map<String, dynamic> json) {
    adjustDiscountValue = json['adjustDiscountValue'];
    allowReturnCopies = json['allowReturnCopies'];
    assistantId = json['assistantId'];
    barNo = json['barNo'];
    barcodeDiscount = json['barcodeDiscount'];
    bonusPointAmount = json['bonusPointAmount'];
    brand = json['brand'];
    category = json['category'];
//    if (json['categoryPropertys'] != null) {
//      categoryPropertys = new List<Null>();
//      json['categoryPropertys'].forEach((v) {
//        categoryPropertys.add(new Null.fromJson(v));
//      });
//    }
    controlFlag = json['controlFlag'];
    couponValue = json['couponValue'];
    customDiscountValue = json['customDiscountValue'];
    dzcDiscountValue = json['dzcDiscountValue'];
    eWCCodeAmount = json['eWCCodeAmount'];
    eWCCodeNum = json['eWCCodeNum'];
    eatWay = json['eatWay'];
    electronicStamp = json['electronicStamp'];
    escaleFlag = json['escaleFlag'];
    fixedDiscountValue = json['fixedDiscountValue'];
    flag = json['flag'];
    flowId = json['flowId'];
    goodsCode = json['goodsCode'];
    goodsName = json['goodsName'];
    goodsNo = json['goodsNo'];
    goodsType = json['goodsType'];
    guid = json['guid'];
    klm = json['klm'];
    license = json['license'];
    listPrice = json['listPrice'];
    mealDiscountValue = json['mealDiscountValue'];
    memberPrice = json['memberPrice'];
    orgCode = json['orgCode'];
    overageValue = json['overageValue'];
    partsNum = json['partsNum'];
    payDiscountValue = json['payDiscountValue'];
    pcs = json['pcs'];
    physicalStamp = json['physicalStamp'];

    popDiscountValue = json['popDiscountValue'];

    processFlag = json['processFlag'];
    prtDuplFlag = json['prtDuplFlag'];
    qty = json['qty'];
    realSalePrice = json['realSalePrice'];
    realTotalDiscountValue = json['realTotalDiscountValue'];
    realSaleValueDzc = json['realSaleValueDzc'];
    recycleFee = json['recycleFee'];
    saleAmount = json['saleAmount'];
    salePrice = json['salePrice'];
    saleValue = json['saleValue'];
    stock = json['stock'];
    tempZkDiscount = json['tempZkDiscount'];
    tempZkl = json['tempZkl'];
    tempZrDiscount = json['tempZrDiscount'];
    tempZzkDiscount = json['tempZzkDiscount'];
    tempZzrDiscount = json['tempZzrDiscount'];
    totalDiscountValue = json['totalDiscountValue'];
    realTotalDiscountValueDzc = json['realTotalDiscountValueDzc'];
    venderCode = json['venderCode'];
    venderId = json['venderId'];
    weight = json['weight'];
    wholeSalePrice = json['wholeSalePrice'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['adjustDiscountValue'] = this.adjustDiscountValue;
    data['allowReturnCopies'] = this.allowReturnCopies;
    data['assistantId'] = this.assistantId;
    data['barNo'] = this.barNo;
    data['barcodeDiscount'] = this.barcodeDiscount;
    data['bonusPointAmount'] = this.bonusPointAmount;
    data['brand'] = this.brand;
    data['category'] = this.category;

    data['controlFlag'] = this.controlFlag;
    data['couponValue'] = this.couponValue;
    data['customDiscountValue'] = this.customDiscountValue;
    data['dzcDiscountValue'] = this.dzcDiscountValue;
    data['eWCCodeAmount'] = this.eWCCodeAmount;
    data['eWCCodeNum'] = this.eWCCodeNum;
    data['eatWay'] = this.eatWay;
    data['electronicStamp'] = this.electronicStamp;
    data['escaleFlag'] = this.escaleFlag;
    data['fixedDiscountValue'] = this.fixedDiscountValue;
    data['flag'] = this.flag;
    data['flowId'] = this.flowId;
    data['goodsCode'] = this.goodsCode;
    data['goodsName'] = this.goodsName;
    data['goodsNo'] = this.goodsNo;
    data['goodsType'] = this.goodsType;
    data['guid'] = this.guid;
    data['klm'] = this.klm;
    data['license'] = this.license;
    data['listPrice'] = this.listPrice;
    data['mealDiscountValue'] = this.mealDiscountValue;
    data['memberPrice'] = this.memberPrice;
    data['orgCode'] = this.orgCode;
    data['overageValue'] = this.overageValue;
    data['partsNum'] = this.partsNum;
    data['payDiscountValue'] = this.payDiscountValue;
    data['pcs'] = this.pcs;
    data['physicalStamp'] = this.physicalStamp;

    data['processFlag'] = this.processFlag;
    data['prtDuplFlag'] = this.prtDuplFlag;
    data['qty'] = this.qty;
    data['realSalePrice'] = this.realSalePrice;
    data['realTotalDiscountValue'] = this.realTotalDiscountValue;
    data['realSaleValueDzc'] = this.realSaleValueDzc;
    data['recycleFee'] = this.recycleFee;
    data['saleAmount'] = this.saleAmount;
    data['salePrice'] = this.salePrice;
    data['saleValue'] = this.saleValue;
    data['stock'] = this.stock;
    data['tempZkDiscount'] = this.tempZkDiscount;
    data['tempZkl'] = this.tempZkl;
    data['tempZrDiscount'] = this.tempZrDiscount;
    data['tempZzkDiscount'] = this.tempZzkDiscount;
    data['tempZzrDiscount'] = this.tempZzrDiscount;
    data['totalDiscountValue'] = this.totalDiscountValue;
    data['realTotalDiscountValueDzc'] = this.realTotalDiscountValueDzc;
    data['venderCode'] = this.venderCode;
    data['venderId'] = this.venderId;
    data['weight'] = this.weight;
    data['wholeSalePrice'] = this.wholeSalePrice;
    return data;
  }

}
class OriginSalePayments {

  num? amount;
  num? cashCost;
  String? consumersId;
  num? couponBalance;
  num? couponTraceSeqno;
  num? discountValue;
  String? flag;
  num? merchantDiscountValue;
  String? misTerminalId;
  num? money;
  num? overage;
  num? payChannelDiscountValue;
  String? payCode;
  String? payName;
  String? payType;
  String? puid;
  num? rate;
  String? refCode;
  String? payNo;
  num? trace;
  String? trackData;
  String? payMemo;
  OriginSalePayments(
      {this.amount,
        this.cashCost,
        this.consumersId,
        this.couponBalance,
        this.couponTraceSeqno,
        this.discountValue,
        this.flag,
        this.merchantDiscountValue,
        this.misTerminalId,
        this.money,
        this.overage,
        this.payChannelDiscountValue,
        this.payCode,
        this.payName,
        this.payType,
        this.puid,
        this.rate,
        this.refCode,
        this.trace,
        this.payNo,
        this.trackData,
        this.payMemo,
      });

  OriginSalePayments.fromJson(Map<String, dynamic> json) {
    amount = json['amount'];
    cashCost = json['cashCost'];
    consumersId = json['consumersId'];
    couponBalance = json['couponBalance'];
    couponTraceSeqno = json['couponTraceSeqno'];
    discountValue = json['discountValue'];
    flag = json['flag'];
    merchantDiscountValue = json['merchantDiscountValue'];
    misTerminalId = json['misTerminalId'];
    money = json['money'];
    overage = json['overage'];
    payChannelDiscountValue = json['payChannelDiscountValue'];
    payCode = json['payCode'];
    payName = json['payName'];
    payType = json['payType'];
    puid = json['puid'];
    rate = json['rate'];
    refCode = json['refCode']==null?"":json['refCode'];
    trace = json['trace'];
    payNo = json['payNo']!=null?json['payNo']:'';
    trackData = json['trackData']!=null?json['trackData']:'';
    payMemo = json['payMemo']!=null?json['payMemo']:'';

  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['amount'] = this.amount;
    data['cashCost'] = this.cashCost;
    data['consumersId'] = this.consumersId;
    data['couponBalance'] = this.couponBalance;
    data['couponTraceSeqno'] = this.couponTraceSeqno;
    data['discountValue'] = this.discountValue;
    data['flag'] = this.flag;
    data['merchantDiscountValue'] = this.merchantDiscountValue;
    data['misTerminalId'] = this.misTerminalId;
    data['money'] = this.money;
    data['overage'] = this.overage;
    data['payChannelDiscountValue'] = this.payChannelDiscountValue;
    data['payCode'] = this.payCode;
    data['payName'] = this.payName;
    data['payType'] = this.payType;
    data['puid'] = this.puid;
    data['rate'] = this.rate;
    data['trace'] = this.trace;
    data['trackData'] = this.trackData;
    data['payMemo'] = this.payMemo;
    return data;
  }
}


class Order {
  String? allowPayCodes;
  num? availablePoint;
  num? changeValue;
  String? channel;
  bool? coldStorage;
  ConsumersData? consumersData;
  num? couponAmount;
  num? couponDiscAmount;
  DelGood? delGood;
  num? deleteNum;
  num? eatWay;
  num? entId;
  String? erpCode;
  String? exerciseMode;
  num? existPay;
  String? flowNo;
  String? gh;
  num? givePointFlag;
  List<GoodsList>? goodsList;
  String? idSheetNo;
  bool? isHaveConflictCoupon;
  String? language;
  num? logisticsMode;
  num? mealDiscAmount;
  num? memberDiscAmount;
  String? merchantOrderNo;
  num? orderState;
  String? orderType;
  num? originLogisticsState;
  num? originOrderState;
  String? originIdSheetNo;
  String? originFlowNo;
  String? originChannel;
  String? originSaleDate;
  String? originShopCode;
  String? originShopName;
  String? originTerminalNo;
  String? originTerminalOperator;
  String? originTerminalSno;
  num? oughtPay;
  num? overageValue;
  num? payOverageValue;
  num? payState;
  num? pointNum;
  num? preferentialDiscAmount;
  num? printMode;
  num? qty;
  num? realSaleValue;
  num? realTotalDiscountValue;
  num? realSaleValueDzc;
  num? realTotalDiscountValueDzc;
  num? remainValue;
  num? returnCouponFlag;
  num? returnPointFlag;
  num? roundUpOverageValue;
  String? saleDate;
  String? saleExtractTime;
  List<SalePayments>? salePayments;
  num? saleValue;
  String? saveStatus;
  String? scanGoodOperator;
  String? seqNo;
  String? shopCode;
  num? shopId;
  String? shopName;
  bool? staffSale;
  num? tempZzk;
  num? tempZzr;
  num? temporaryDiscAmount;
  String? terminalNo;
  String? terminalOperator;
  String? terminalOperatorAuthzCardNo;
  String? terminalSno;
  num? thisTimePoint;
  num? thisTimeUsedPoint;
  num? totalDiscAuthzCardShare;
  num? totalDiscountValue;
  num? totalPoint;
  num? unavailablePoint;
  String? unavailablePointDate;
  String? ypopBillNo;
  num? popFlag;
  List<LimitedPays>? limitedPays;
  List<GiftGroupList>? giftGroupList;
  List<RebatecodeheadList>? rebatecodeheadList;
  List<ExceptPays>? exceptPays;
  List<DeletedGoods>? deletedGoods;
  num? tempRandomDiscount;
  String? groupBuyNumber; //团购编号
  String? groupBuyerName; //团购客户名称
  String? groupBuyerCode;  //团购客户编码
  String? groupBuyManager; //团购经办人
  String? groupBuyManagerName;//团购经办人姓名
  bool? hasGroupBuy;  //手否团购单据
  bool? isAllReturn;  //是否整单退货
  List<CouponDetails>? couponDetails;  //惠购券详情
  Map? dfOweInfo; //电费信息

  Order(
      {
        this.allowPayCodes,
        this.availablePoint,
        this.changeValue,
        this.channel,
        this.coldStorage,
        this.consumersData,
        this.couponAmount,
        this.couponDiscAmount,
        this.delGood,
        this.deleteNum,
        this.eatWay,
        this.entId,
        this.erpCode,
        this.exerciseMode,
        this.existPay,
        this.flowNo,
        this.gh,
        this.givePointFlag,
        this.goodsList,
        this.idSheetNo,
        this.isHaveConflictCoupon,
        this.language,
        this.logisticsMode,
        this.mealDiscAmount,
        this.memberDiscAmount,
        this.merchantOrderNo,
        this.orderState,
        this.orderType,
        this.originLogisticsState,
        this.originOrderState,
        this.originIdSheetNo,
        this.originFlowNo,
        this.originChannel,
        this.originSaleDate,
        this.originShopCode,
        this.originShopName,
        this.originTerminalNo,
        this.originTerminalOperator,
        this.originTerminalSno,
        this.oughtPay,
        this.overageValue,
        this.payOverageValue,
        this.payState,
        this.pointNum,
        this.preferentialDiscAmount,
        this.printMode,
        this.qty,
        this.realSaleValue,
        this.realTotalDiscountValue,
        this.realSaleValueDzc,
        this.realTotalDiscountValueDzc,
        this.remainValue,
        this.returnCouponFlag,
        this.returnPointFlag,
        this.roundUpOverageValue,
        this.saleDate,
        this.saleExtractTime,
        this.salePayments,
        this.saleValue,
        this.saveStatus,
        this.scanGoodOperator,
        this.seqNo,
        this.shopCode,
        this.shopId,
        this.shopName,
        this.staffSale,
        this.tempZzk,
        this.tempZzr,
        this.temporaryDiscAmount,
        this.terminalNo,
        this.terminalOperator,
        this.terminalOperatorAuthzCardNo,
        this.terminalSno,
        this.thisTimePoint,
        this.thisTimeUsedPoint,
        this.totalDiscAuthzCardShare,
        this.totalDiscountValue,
        this.totalPoint,
        this.unavailablePoint,
        this.unavailablePointDate,
        this.ypopBillNo,
        this.popFlag,
        this.limitedPays,
        this.giftGroupList,
        this.rebatecodeheadList,
        this.exceptPays,
        this.deletedGoods,
        this.tempRandomDiscount,
        this.groupBuyNumber, //团购编号
        this.groupBuyerName, //团购客户名称
        this.groupBuyerCode,  //团购客户编码
        this.groupBuyManager, //团购经办人
        this.groupBuyManagerName,//团购经办人姓名
        this.hasGroupBuy,  //是否团购单据
        this.couponDetails,  //是否团购单据
        this.isAllReturn,
        this.dfOweInfo
      });

  Order.fromJson(Map<String, dynamic> json) {
    allowPayCodes = json['allowPayCodes'];
    availablePoint = json['availablePoint'];
    changeValue = json['changeValue'];
    channel = json['channel'];
    coldStorage = json['coldStorage'];
    consumersData = json['consumersData'] != null
        ? new ConsumersData.fromJson(json['consumersData'])
        : null;
    couponAmount = json['couponAmount'];
    couponDiscAmount = json['couponDiscAmount'];
    delGood =
    json['delGood'] != null ? new DelGood.fromJson(json['delGood']) : null;
    deleteNum = json['deleteNum'];
    eatWay = json['eatWay'];
    entId = json['entId'];
    erpCode = json['erpCode'];
    exerciseMode = json['exerciseMode'];
    existPay = json['existPay'];
    flowNo = json['flowNo'];
    gh = json['gh'];
    givePointFlag = json['givePointFlag'];
    if (json['goodsList'] != null) {
      goodsList =  <GoodsList>[];
      json['goodsList'].forEach((v) {
        goodsList!.add(new GoodsList.fromJson(v));
      });
    }
    idSheetNo = json['idSheetNo'];
    isHaveConflictCoupon = json['isHaveConflictCoupon'];
    language = json['language'];
    logisticsMode = json['logisticsMode'];
    mealDiscAmount = json['mealDiscAmount'];
    memberDiscAmount = json['memberDiscAmount'];
    merchantOrderNo = json['merchantOrderNo'];
    orderState = json['orderState'];
    orderType = json['orderType'];
    originLogisticsState = json['originLogisticsState'];
    originOrderState = json['originOrderState'];
    originIdSheetNo = null!=json['originIdSheetNo']?json['originIdSheetNo']:'';
    originFlowNo = null!=json['originFlowNo']?json['originFlowNo']:'';
    originChannel = null!=json['originChannel']?json['originChannel']:'';
    originSaleDate = null!=json['originSaleDate']?json['originSaleDate']:'';
    originShopCode = null!=json['originShopCode']?json['originShopCode']:'';
    originShopName = null!=json['originShopName']?json['originShopName']:'';
    originTerminalNo = null!=json['originTerminalNo']?json['originTerminalNo']:'';
    originTerminalOperator = null!=json['originTerminalOperator']?json['originTerminalOperator']:'';
    originTerminalSno = null!=json['originTerminalSno']?json['originTerminalSno']:'';
    oughtPay = json['oughtPay'];
    overageValue = json['overageValue'];
    payOverageValue = json['payOverageValue'];
    payState = json['payState'];
    pointNum = json['pointNum'];
    preferentialDiscAmount = json['preferentialDiscAmount'];
    printMode = json['printMode'];
    qty = json['qty'];
    realSaleValue = json['realSaleValue'];
    realTotalDiscountValue = json['realTotalDiscountValue'];
    realSaleValueDzc = json['realSaleValueDzc'];
    realTotalDiscountValueDzc = json['realTotalDiscountValueDzc'];
    remainValue = json['remainValue'];
    returnCouponFlag = json['returnCouponFlag'];
    returnPointFlag = json['returnPointFlag'];
    roundUpOverageValue = json['roundUpOverageValue'];
    saleDate = json['saleDate'];
    saleExtractTime = json['saleExtractTime'];
    if (json['salePayments'] != null) {
      salePayments =  <SalePayments>[];
      json['salePayments'].forEach((v) {
        salePayments!.add(new SalePayments.fromJson(v));
      });
    }
    saleValue = json['saleValue'];
    saveStatus = json['saveStatus'];
    scanGoodOperator = json['scanGoodOperator'];
    seqNo = json['seqNo'];
    shopCode = json['shopCode'];
    shopId = json['shopId'];
    shopName = json['shopName'];
    staffSale = json['staffSale'];
    tempZzk = json['tempZzk'];
    tempZzr = json['tempZzr'];
    temporaryDiscAmount = json['temporaryDiscAmount'];
    terminalNo = json['terminalNo'];
    terminalOperator = json['terminalOperator'];
    terminalOperatorAuthzCardNo = json['terminalOperatorAuthzCardNo'];
    terminalSno = json['terminalSno'];
    thisTimePoint = json['thisTimePoint'];
    thisTimeUsedPoint = json['thisTimeUsedPoint'];
    totalDiscAuthzCardShare = json['totalDiscAuthzCardShare'];
    totalDiscountValue = json['totalDiscountValue'];
    totalPoint = json['totalPoint'];
    unavailablePoint = json['unavailablePoint'];
    unavailablePointDate = json['unavailablePointDate'];
    ypopBillNo = json['ypopBillNo'];
    popFlag = json['popFlag'];
    if (json['limitedPays'] != null) {
      limitedPays =  <LimitedPays>[];
      json['limitedPays'].forEach((v) {
        limitedPays!.add(new LimitedPays.fromJson(v));
      });
    }
    if (json['giftGroupList'] != null) {
      giftGroupList =  <GiftGroupList>[];
      json['giftGroupList'].forEach((v) {
        giftGroupList!.add(new GiftGroupList.fromJson(v));
      });
    }
    if (json['rebatecodeheadList'] != null) {
      rebatecodeheadList =  <RebatecodeheadList>[];
      json['rebatecodeheadList'].forEach((v) {
        rebatecodeheadList!.add( RebatecodeheadList.fromJson(v));
      });
    }
    if (json['exceptPays'] != null) {
      exceptPays =  <ExceptPays>[];
      json['exceptPays'].forEach((v) {
        exceptPays!.add( ExceptPays.fromJson(v));
      });
    }
    if (json['deletedGoods'] != null) {
      deletedGoods =  <DeletedGoods>[];
      json['deletedGoods'].forEach((v) {
        deletedGoods!.add( DeletedGoods.fromJson(v));
      });
    }
    groupBuyNumber = json['groupBuyNumber'];
    groupBuyerName = json['groupBuyerName'];
    groupBuyerCode = json['groupBuyerCode'];
    groupBuyManager = json['groupBuyManager'];
    groupBuyManagerName = json['groupBuyManagerName'];
    hasGroupBuy = json['hasGroupBuy'];
    isAllReturn = json['isAllReturn'];
    dfOweInfo = json['dfOweInfo'];

    if (json['couponDetails'] != null) {
      couponDetails =  <CouponDetails>[];
      json['couponDetails'].forEach((v) {
        couponDetails!.add(new CouponDetails.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['allowPayCodes'] = this.allowPayCodes;
    data['availablePoint'] = this.availablePoint;
    data['changeValue'] = this.changeValue;
    data['channel'] = this.channel;
    data['coldStorage'] = this.coldStorage;
    if (this.consumersData != null) {
      data['consumersData'] = this.consumersData!.toJson();
    }
    data['couponAmount'] = this.couponAmount;
    data['couponDiscAmount'] = this.couponDiscAmount;
    if (this.delGood != null) {
      data['delGood'] = this.delGood!.toJson();
    }
    data['deleteNum'] = this.deleteNum;
    data['eatWay'] = this.eatWay;
    data['entId'] = this.entId;
    data['erpCode'] = this.erpCode;
    data['exerciseMode'] = this.exerciseMode;
    data['existPay'] = this.existPay;
    data['flowNo'] = this.flowNo;
    data['gh'] = this.gh;
    data['givePointFlag'] = this.givePointFlag;
    if (this.goodsList != null) {
      data['goodsList'] = this.goodsList!.map((v) => v.toJson()).toList();
    }
    data['idSheetNo'] = this.idSheetNo;
    data['isHaveConflictCoupon'] = this.isHaveConflictCoupon;
    data['language'] = this.language;
    data['logisticsMode'] = this.logisticsMode;
    data['mealDiscAmount'] = this.mealDiscAmount;
    data['memberDiscAmount'] = this.memberDiscAmount;
    data['merchantOrderNo'] = this.merchantOrderNo;
    data['orderState'] = this.orderState;
    data['orderType'] = this.orderType;
    data['originLogisticsState'] = this.originLogisticsState;
    data['originOrderState'] = this.originOrderState;
    data['originIdSheetNo'] = this.originIdSheetNo;
    data['originFlowNo'] = this.originFlowNo;
    data['originChannel'] = this.originChannel;
    data['originSaleDate'] = this.originSaleDate;
    data['originShopCode'] = this.originShopCode;
    data['originShopName'] = this.originShopName;
    data['originTerminalNo'] = this.originTerminalNo;
    data['originTerminalOperator'] = this.originTerminalOperator;
    data['originTerminalSno'] = this.originTerminalSno;
    data['oughtPay'] = this.oughtPay;
    data['overageValue'] = this.overageValue;
    data['payOverageValue'] = this.payOverageValue;
    data['payState'] = this.payState;
    data['pointNum'] = this.pointNum;
    data['preferentialDiscAmount'] = this.preferentialDiscAmount;
    data['printMode'] = this.printMode;
    data['qty'] = this.qty;
    data['realSaleValue'] = this.realSaleValue;
    data['realTotalDiscountValue'] = this.realTotalDiscountValue;
    data['realSaleValueDzc'] = this.realSaleValueDzc;
    data['realTotalDiscountValueDzc'] = this.realTotalDiscountValueDzc;
    data['remainValue'] = this.remainValue;
    data['returnCouponFlag'] = this.returnCouponFlag;
    data['returnPointFlag'] = this.returnPointFlag;
    data['roundUpOverageValue'] = this.roundUpOverageValue;
    data['saleDate'] = this.saleDate;
    data['saleExtractTime'] = this.saleExtractTime;
    if (this.salePayments != null) {
      data['salePayments'] = this.salePayments!.map((v) => v.toJson()).toList();
    }
    data['saleValue'] = this.saleValue;
    data['saveStatus'] = this.saveStatus;
    data['scanGoodOperator'] = this.scanGoodOperator;
    data['seqNo'] = this.seqNo;
    data['shopCode'] = this.shopCode;
    data['shopId'] = this.shopId;
    data['shopName'] = this.shopName;
    data['staffSale'] = this.staffSale;
    data['tempZzk'] = this.tempZzk;
    data['tempZzr'] = this.tempZzr;
    data['temporaryDiscAmount'] = this.temporaryDiscAmount;
    data['terminalNo'] = this.terminalNo;
    data['terminalOperator'] = this.terminalOperator;
    data['terminalOperatorAuthzCardNo'] = this.terminalOperatorAuthzCardNo;
    data['terminalSno'] = this.terminalSno;
    data['thisTimePoint'] = this.thisTimePoint;
    data['thisTimeUsedPoint'] = this.thisTimeUsedPoint;
    data['totalDiscAuthzCardShare'] = this.totalDiscAuthzCardShare;
    data['totalDiscountValue'] = this.totalDiscountValue;
    data['totalPoint'] = this.totalPoint;
    data['unavailablePoint'] = this.unavailablePoint;
    data['unavailablePointDate'] = this.unavailablePointDate;
    data['ypopBillNo'] = this.ypopBillNo;
    data['popFlag'] = this.popFlag;
    if (this.limitedPays != null) {
      data['limitedPays'] = this.limitedPays!.map((v) => v.toJson()).toList();
    }
    if (this.giftGroupList != null) {
      data['giftGroupList'] =
          this.giftGroupList!.map((v) => v.toJson()).toList();
    }
    if (this.rebatecodeheadList != null) {
      data['rebatecodeheadList'] =
          this.rebatecodeheadList!.map((v) => v.toJson()).toList();
    }
    if (this.exceptPays != null) {
      data['exceptPays'] = this.exceptPays!.map((v) => v.toJson())!.toList();
    }
    if (this.deletedGoods != null) {
      data['deletedGoods'] = this.deletedGoods!.map((v) => v.toJson())!.toList();
    }
    data['tempRandomDiscount'] = this.tempRandomDiscount;
    data['groupBuyNumber'] = this.groupBuyNumber;
    data['groupBuyerName'] = this.groupBuyerName;
    data['groupBuyerCode'] = this.groupBuyerCode;
    data['groupBuyManager'] = this.groupBuyManager;
    data['groupBuyManagerName'] = this.groupBuyManagerName;
    data['hasGroupBuy'] = this.hasGroupBuy;
    data['isAllReturn'] = this.isAllReturn;
    data['dfOweInfo'] = this.dfOweInfo;

    if (this.couponDetails != null) {
      data['couponDetails'] = this.couponDetails!.map((v) => v.toJson()).toList();
    }

    return data;
  }
}






class ConsumersData {
  num? blackFlag;
  String? consumersCard;
  String? consumersCName;
  String? consumersId;
  String? consumersLevel;
  String? consumersType;
  String? consumsersStatus;
  String? corporationCode;
  bool? isMami;
  String? loginMode;
  String? mobile;
  num? point;
  num? pointMoney;
  String? grantCard;
  String? custType;
  String? consumersCardName;

  ConsumersData(
      {this.blackFlag,
        this.consumersCard,
        this.consumersCName,
        this.consumersId,
        this.consumersLevel,
        this.consumersType,
        this.consumsersStatus,
        this.corporationCode,
        this.isMami,
        this.loginMode,
        this.mobile,
        this.point,
        this.pointMoney,
        this.grantCard,
        this.custType,
        this.consumersCardName,
      });

  ConsumersData.fromJson(Map<String, dynamic> json) {
    blackFlag = json['blackFlag'];
    consumersCard = json['consumersCard'];
    consumersCName = json['consumersCName'];
    consumersId = json['consumersId'];
    consumersLevel = json['consumersLevel'];
    consumersType = json['consumersType'];
    consumsersStatus = json['consumsersStatus'];
    corporationCode = json['corporationCode'];
    isMami = json['isMami'];
    loginMode = json['loginMode'];
    mobile = json['mobile'];
    point = json['point'];
    pointMoney = json['pointMoney'];
    grantCard = json['grantCard'];
    custType = json['custType'];
    consumersCardName = json['consumersCardName'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['blackFlag'] = this.blackFlag;
    data['consumersCard'] = this.consumersCard;
    data['consumersCName'] = this.consumersCName;
    data['consumersId'] = this.consumersId;
    data['consumersLevel'] = this.consumersLevel;
    data['consumersType'] = this.consumersType;
    data['consumsersStatus'] = this.consumsersStatus;
    data['corporationCode'] = this.corporationCode;
    data['isMami'] = this.isMami;
    data['loginMode'] = this.loginMode;
    data['mobile'] = this.mobile;
    data['point'] = this.point;
    data['pointMoney'] = this.pointMoney;
    data['grantCard'] = this.grantCard;
    data['custType'] = this.custType;
    data['consumersCardName'] = this.consumersCardName;
    return data;
  }
}

class DelGood {
  String? barNo;
  String? goodsCode;
  String? goodsName;
  String? goodsNo;
  num? qty;
  num? saleAmount;

  DelGood(
      {this.barNo,
        this.goodsCode,
        this.goodsName,
        this.goodsNo,
        this.qty,
        this.saleAmount});

  DelGood.fromJson(Map<String, dynamic> json) {
    barNo = json['barNo'];
    goodsCode = json['goodsCode'];
    goodsName = json['goodsName'];
    goodsNo = json['goodsNo'];
    qty = json['qty'];
    saleAmount = json['saleAmount'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['barNo'] = this.barNo;
    data['goodsCode'] = this.goodsCode;
    data['goodsName'] = this.goodsName;
    data['goodsNo'] = this.goodsNo;
    data['qty'] = this.qty;
    data['saleAmount'] = this.saleAmount;
    return data;
  }
}

class GoodsList {
  num? adjustDiscountValue;
  num? allowReturnCopies;
  String? assistantId;
  String? barNo;
  num? barcodeDiscount;
  num? bonusPointAmount;
  String? brand;
  String? category;
  List<Null>? categoryPropertys;
  bool? controlFlag;
  num? couponValue;
  num? customDiscountValue;
  num? dzcDiscountValue;
  num? eWCCodeAmount;
  num? eWCCodeNum;
  num? eatWay;
  num? electronicStamp;
  String? escaleFlag;
  num? fixedDiscountValue;
  String? flag;
  num? flowId;
  String? flowNo;
  String? goodsCode;
  String? goodsName;
  String? goodsNo;
  String? goodsType;
  String? guid;
  num? license;
  num? listPrice;
  num? mealDiscountValue;
  num? memberPrice;
  String? orgCode;
  num? overageValue;
  num? partsNum;
  num? payDiscountValue;
  num? pcs;
  num? physicalStamp;
  List<PopDetails>? popDetails;
  num? popDiscountValue;
  List<Null>? popGains;
  List<Null>? popReverses;
  List<Null>? popUses;
  num? processFlag;
  bool? prtDuplFlag;
  num? qty;
  num? realSalePrice;
  num? realTotalDiscountValue;
  num? realSaleValueDzc;
  num? realTotalDiscountValueDzc;
  num? recycleFee;
  num? saleAmount;
  num? salePrice;
  num? saleValue;
  num? stock;
  String? tempCategory;
  num? tempZkDiscount;
  num? tempZkl;
  num? tempZrDiscount;
  num? tempZzkDiscount;
  num? tempZzrDiscount;
  num? totalDiscountValue;
  String? venderCode;
  num? weight;
  num? wholeSalePrice;
  String? saleSpec;
  String? remark;
  String? wlCode;
  String? wlBatch;
  String? wlScDate;
  bool? isJFHG;
  String? colourName;
  String? sizeName;
  bool? elecFlag;
  String? isWeight;//是否是称重商品，’Y‘是称重商品，’N‘是数量商品
  String? saleUnit;//pda 商品单位

  GoodsList(
      {this.adjustDiscountValue,
        this.allowReturnCopies,
        this.assistantId,
        this.barNo,
        this.barcodeDiscount,
        this.bonusPointAmount,
        this.brand,
        this.category,
        this.categoryPropertys,
        this.controlFlag,
        this.couponValue,
        this.customDiscountValue,
        this.dzcDiscountValue,
        this.eWCCodeAmount,
        this.eWCCodeNum,
        this.eatWay,
        this.electronicStamp,
        this.escaleFlag,
        this.fixedDiscountValue,
        this.flag,
        this.flowId,
        this.flowNo,
        this.goodsCode,
        this.goodsName,
        this.goodsNo,
        this.goodsType,
        this.guid,
        this.license,
        this.listPrice,
        this.mealDiscountValue,
        this.memberPrice,
        this.orgCode,
        this.overageValue,
        this.partsNum,
        this.payDiscountValue,
        this.pcs,
        this.physicalStamp,
        this.popDetails,
        this.popDiscountValue,
        this.popGains,
        this.popReverses,
        this.popUses,
        this.processFlag,
        this.prtDuplFlag,
        this.qty,
        this.realSalePrice,
        this.realTotalDiscountValue,
        this.realSaleValueDzc,
        this.realTotalDiscountValueDzc,
        this.recycleFee,
        this.saleAmount,
        this.salePrice,
        this.saleValue,
        this.stock,
        this.tempCategory,
        this.tempZkDiscount,
        this.tempZkl,
        this.tempZrDiscount,
        this.tempZzkDiscount,
        this.tempZzrDiscount,
        this.totalDiscountValue,
        this.venderCode,
        this.weight,
        this.wholeSalePrice,
        this.saleSpec,
        this.remark,
        this.wlCode,
        this.wlBatch,
        this.wlScDate,
        this.isJFHG,
        this.colourName,
        this.sizeName,
        this.elecFlag,
        this.isWeight, //是否是称重商品，’Y‘是称重商品，’N‘是数量商品
        this.saleUnit,
      });

  GoodsList.fromJson(Map<String, dynamic> json) {
    adjustDiscountValue = json['adjustDiscountValue'];
    allowReturnCopies = json['allowReturnCopies'];
    assistantId = json['assistantId'];
    barNo = json['barNo'];
    barcodeDiscount = json['barcodeDiscount'];
    bonusPointAmount = json['bonusPointAmount'];
    brand = json['brand'];
    category = json['category'];
//    if (json['categoryPropertys'] != null) {
//      categoryPropertys = new List<Null>();
//      json['categoryPropertys'].forEach((v) {
//        categoryPropertys.add(new Null.fromJson(v));
//      });
//    }
    controlFlag = json['controlFlag'];
    couponValue = json['couponValue'];
    customDiscountValue = json['customDiscountValue'];
    dzcDiscountValue = json['dzcDiscountValue'];
    eWCCodeAmount = json['eWCCodeAmount'];
    eWCCodeNum = json['eWCCodeNum'];
    eatWay = json['eatWay'];
    electronicStamp = json['electronicStamp'];
    escaleFlag = json['escaleFlag'];
    fixedDiscountValue = json['fixedDiscountValue'];
    flag = json['flag'];
    flowId = json['flowId'];
    flowNo = json['flowNo'];
    goodsCode = json['goodsCode'];
    goodsName = json['goodsName'];
    goodsNo = json['goodsNo'];
    goodsType = json['goodsType'];
    guid = json['guid'];
    license = json['license'];
    listPrice = json['listPrice'];
    mealDiscountValue = json['mealDiscountValue'];
    memberPrice = json['memberPrice'];
    orgCode = json['orgCode'];
    overageValue = json['overageValue'];
    partsNum = json['partsNum'];
    payDiscountValue = json['payDiscountValue'];
    pcs = json['pcs'];
    physicalStamp = json['physicalStamp'];
    if (json['popDetails'] != null) {
      popDetails =  <PopDetails>[];
      json['popDetails'].forEach((v) {
        popDetails!.add(new PopDetails.fromJson(v));
      });
    }
    popDiscountValue = json['popDiscountValue'];
    processFlag = json['processFlag'];
    prtDuplFlag = json['prtDuplFlag'];
    qty = json['qty'];
    realSalePrice = json['realSalePrice'];
    realTotalDiscountValue = json['realTotalDiscountValue'];
    realSaleValueDzc = json['realSaleValueDzc'];
    realTotalDiscountValueDzc = json['realTotalDiscountValueDzc'];
    recycleFee = json['recycleFee'];
    saleAmount = json['saleAmount'];
    salePrice = json['salePrice'];
    saleValue = json['saleValue'];
    stock = json['stock'];
    tempCategory = json['tempCategory'];
    tempZkDiscount = json['tempZkDiscount'];
    tempZkl = json['tempZkl'];
    tempZrDiscount = json['tempZrDiscount'];
    tempZzkDiscount = json['tempZzkDiscount'];
    tempZzrDiscount = json['tempZzrDiscount'];
    totalDiscountValue = json['totalDiscountValue'];
    venderCode = json['venderCode'];
    weight = json['weight'];
    wholeSalePrice = json['wholeSalePrice'];
    saleSpec = json['saleSpec'];
    remark = json['remark'];
    wlCode = json['wlCode'];
    wlBatch = json['wlBatch'];
    wlScDate = json['wlScDate'];
    isJFHG = json['isJFHG'];
    colourName = json['colourName'];
    sizeName = json['sizeName'];
    elecFlag = json['elecFlag'];
    isWeight = json['isWeight'];
    saleUnit = json['saleUnit'];

  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['adjustDiscountValue'] = this.adjustDiscountValue;
    data['allowReturnCopies'] = this.allowReturnCopies;
    data['barNo'] = this.barNo;
    data['barcodeDiscount'] = this.barcodeDiscount;
    data['bonusPointAmount'] = this.bonusPointAmount;
    data['brand'] = this.brand;
    data['category'] = this.category;
//    if (this.categoryPropertys != null) {
//      data['categoryPropertys'] =
//          this.categoryPropertys.map((v) => v.toJson()).toList();
//    }
    data['controlFlag'] = this.controlFlag;
    data['couponValue'] = this.couponValue;
    data['customDiscountValue'] = this.customDiscountValue;
    data['dzcDiscountValue'] = this.dzcDiscountValue;
    data['eWCCodeAmount'] = this.eWCCodeAmount;
    data['eWCCodeNum'] = this.eWCCodeNum;
    data['eatWay'] = this.eatWay;
    data['electronicStamp'] = this.electronicStamp;
    data['escaleFlag'] = this.escaleFlag;
    data['fixedDiscountValue'] = this.fixedDiscountValue;
    data['flag'] = this.flag;
    data['flowId'] = this.flowId;
    data['flowNo'] = this.flowNo;
    data['goodsCode'] = this.goodsCode;
    data['goodsName'] = this.goodsName;
    data['goodsNo'] = this.goodsNo;
    data['goodsType'] = this.goodsType;
    data['guid'] = this.guid;
    data['license'] = this.license;
    data['listPrice'] = this.listPrice;
    data['mealDiscountValue'] = this.mealDiscountValue;
    data['memberPrice'] = this.memberPrice;
    data['orgCode'] = this.orgCode;
    data['overageValue'] = this.overageValue;
    data['partsNum'] = this.partsNum;
    data['payDiscountValue'] = this.payDiscountValue;
    data['pcs'] = this.pcs;
    data['physicalStamp'] = this.physicalStamp;
    if (this.popDetails != null) {
      data['popDetails'] = this.popDetails!.map((v) => v.toJson()).toList();
    }
//    data['popDiscountValue'] = this.popDiscountValue;
//    if (this.popGains != null) {
//      data['popGains'] = this.popGains.map((v) => v.toJson()).toList();
//    }
//    if (this.popReverses != null) {
//      data['popReverses'] = this.popReverses.map((v) => v.toJson()).toList();
//    }
//    if (this.popUses != null) {
//      data['popUses'] = this.popUses.map((v) => v.toJson()).toList();
//    }
    data['processFlag'] = this.processFlag;
    data['prtDuplFlag'] = this.prtDuplFlag;
    data['qty'] = this.qty;
    data['realSalePrice'] = this.realSalePrice;
    data['realTotalDiscountValue'] = this.realTotalDiscountValue;
    data['realSaleValueDzc'] = this.realSaleValueDzc;
    data['realTotalDiscountValueDzc'] = this.realTotalDiscountValueDzc;
    data['recycleFee'] = this.recycleFee;
    data['saleAmount'] = this.saleAmount;
    data['salePrice'] = this.salePrice;
    data['saleValue'] = this.saleValue;
    data['stock'] = this.stock;
    data['tempCategory'] = this.tempCategory;
    data['tempZkDiscount'] = this.tempZkDiscount;
    data['tempZkl'] = this.tempZkl;
    data['tempZrDiscount'] = this.tempZrDiscount;
    data['tempZzkDiscount'] = this.tempZzkDiscount;
    data['tempZzrDiscount'] = this.tempZzrDiscount;
    data['totalDiscountValue'] = this.totalDiscountValue;
    data['venderCode'] = this.venderCode;
    data['weight'] = this.weight;
    data['wholeSalePrice'] = this.wholeSalePrice;
    data['saleSpec'] = this.saleSpec;
    data['remark'] = this.remark;
    data['wlCode'] = this.wlCode;
    data['wlBatch'] = this.wlBatch;
    data['wlScDate'] = this.wlScDate;
    data['colourName'] = this.colourName;
    data['sizeName'] = this.sizeName;
    data['elecFlag'] = this.elecFlag;
    data['isWeight'] = this.isWeight;
    data['saleUnit'] = this.saleUnit;

    return data;
  }
}

class SalePayments {

  num? amount;
  num? cashCost;
  num? couponBalance;
  num? couponTraceSeqno;
  num? discountValue;
  String? flag;
  num? merchantDiscountValue;
  num? money;
  num? overage;
  num? payChannelDiscountValue;
  String? payCode;
  String? payName;
  String? payNo;
  String? payType;
  String? puid;
  num? rate;
  String? refCode;
  String? terminalNo;
  String? terminalSno;
  num? trace;
  String? memo;
  String? parentCode;
  String? trackData;
  String? payMemo;
  bool? isAutoDelOnly;
  String? couponType;
  SalePayments(
      {this.amount,
        this.cashCost,
        this.couponBalance,
        this.couponTraceSeqno,
        this.discountValue,
        this.flag,
        this.merchantDiscountValue,
        this.money,
        this.overage,
        this.payChannelDiscountValue,
        this.payCode,
        this.payName,
        this.payNo,
        this.payType,
        this.puid,
        this.rate,
        this.refCode,
        this.terminalNo,
        this.terminalSno,
        this.trace,
        this.memo,
        this.parentCode,
        this.trackData,
        this.payMemo,
        this.isAutoDelOnly,
        this.couponType
      });

  SalePayments.fromJson(Map<String, dynamic> json) {
    amount = json['amount'];
    cashCost = json['cashCost'];
    couponBalance = json['couponBalance'];
    couponTraceSeqno = json['couponTraceSeqno'];
    discountValue = json['discountValue'];
    flag = json['flag'];
    merchantDiscountValue = json['merchantDiscountValue'];
    money = json['money'];
    overage = json['overage'];
    payChannelDiscountValue = json['payChannelDiscountValue'];
    payCode = json['payCode'];
    payName = json['payName'];
    payNo = json['payNo'];
    payType = json['payType'];
    puid = json['puid'];
    rate = json['rate'];
    refCode = json['refCode'];
    terminalNo = json['terminalNo'];
    terminalSno = json['terminalSno'];
    trace = json['trace'];
    memo = json['memo']!=null?json['memo']:'';
    parentCode = json['parentCode']!=null?json['parentCode']:'';
    trackData = json['trackData']!=null?json['trackData']:'';
    payMemo = json['payMemo']!=null?json['payMemo']:'';
    isAutoDelOnly = json['isAutoDelOnly'];
    couponType = json['couponType'];


  }
  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['amount'] = this.amount;
    data['cashCost'] = this.cashCost;
    data['couponBalance'] = this.couponBalance;
    data['couponTraceSeqno'] = this.couponTraceSeqno;
    data['discountValue'] = this.discountValue;
    data['flag'] = this.flag;
    data['merchantDiscountValue'] = this.merchantDiscountValue;
    data['money'] = this.money;
    data['overage'] = this.overage;
    data['payChannelDiscountValue'] = this.payChannelDiscountValue;
    data['payCode'] = this.payCode;
    data['payName'] = this.payName;
    data['payNo'] = this.payNo;
    data['payType'] = this.payType;
    data['puid'] = this.puid;
    data['rate'] = this.rate;
    data['refCode'] = this.refCode;
    data['terminalNo'] = this.terminalNo;
    data['terminalSno'] = this.terminalSno;
    data['trace'] = this.trace;
    data['memo'] = this.memo;
    data['parentCode'] = this.parentCode!=null?this.parentCode:'';
    data['trackData'] = this.trackData!=null?this.trackData:'';
    data['payMemo'] = this.payMemo!=null?this.payMemo:'';
    data['isAutoDelOnly'] = this.isAutoDelOnly;
    data['couponType'] = this.couponType;

    return data;
  }
}

class PopDetails {
  String? popPolicySymbol;
  String? endDate;
  num? giftallotAmount;
  String? popPolicyType;
  num? discountAmount;
  String? popQty;
  num? popEventScd;
  String? popEventBillType;
  num? popPolicyId;
  String? popEventBillId;
  num? popSeqNo;
  String? popMemo;
  String? popEventScdName;
  String? popSelect;
  String? popDescribe;
  num? freightAmount;
  String? popMode;
  String? popPolicyGroup;
  num? popEventLevel;
  num? goodsRow;
  bool? isMatch;
  String? popEventType;
  String? popPolicyTag;
  num? discountShare;
  String? staDate;
  num? popEventId;
  num? poprowNo;

  PopDetails(
      {this.popPolicySymbol,
        this.endDate,
        this.giftallotAmount,
        this.popPolicyType,
        this.discountAmount,
        this.popQty,
        this.popEventScd,
        this.popEventBillType,
        this.popPolicyId,
        this.popEventBillId,
        this.popSeqNo,
        this.popMemo,
        this.popEventScdName,
        this.popSelect,
        this.popDescribe,
        this.freightAmount,
        this.popMode,
        this.popPolicyGroup,
        this.popEventLevel,
        this.goodsRow,
        this.isMatch,
        this.popEventType,
        this.popPolicyTag,
        this.discountShare,
        this.staDate,
        this.popEventId,
        this.poprowNo});

  PopDetails.fromJson(Map<String, dynamic> json) {
    popPolicySymbol = json['popPolicySymbol'];
    endDate = json['endDate'];
    giftallotAmount = json['giftallotAmount'];
    popPolicyType = json['popPolicyType'];
    discountAmount = json['discountAmount'];
    popQty = json['popQty'];
    popEventScd = json['popEventScd'];
    popEventBillType = json['popEventBillType'];
    popPolicyId = json['popPolicyId'];
    popEventBillId = json['popEventBillId'];
    popSeqNo = json['popSeqNo'];
    popMemo = json['popMemo'];
    popEventScdName = json['popEventScdName'];
    popSelect = json['popSelect'];
    popDescribe = json['popDescribe'];
    freightAmount = json['freightAmount'];
    popMode = json['popMode'];
    popPolicyGroup = json['popPolicyGroup'];
    popEventLevel = json['popEventLevel'];
    goodsRow = json['goodsRow'];
    isMatch = json['isMatch'];
    popEventType = json['popEventType'];
    popPolicyTag = json['popPolicyTag'];
    discountShare = json['discountShare'];
    staDate = json['staDate'];
    popEventId = json['popEventId'];
    poprowNo = json['poprowNo'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['popPolicySymbol'] = this.popPolicySymbol;
    data['endDate'] = this.endDate;
    data['giftallotAmount'] = this.giftallotAmount;
    data['popPolicyType'] = this.popPolicyType;
    data['discountAmount'] = this.discountAmount;
    data['popQty'] = this.popQty;
    data['popEventScd'] = this.popEventScd;
    data['popEventBillType'] = this.popEventBillType;
    data['popPolicyId'] = this.popPolicyId;
    data['popEventBillId'] = this.popEventBillId;
    data['popSeqNo'] = this.popSeqNo;
    data['popMemo'] = this.popMemo;
    data['popEventScdName'] = this.popEventScdName;
    data['popSelect'] = this.popSelect;
    data['popDescribe'] = this.popDescribe;
    data['freightAmount'] = this.freightAmount;
    data['popMode'] = this.popMode;
    data['popPolicyGroup'] = this.popPolicyGroup;
    data['popEventLevel'] = this.popEventLevel;
    data['goodsRow'] = this.goodsRow;
    data['isMatch'] = this.isMatch;
    data['popEventType'] = this.popEventType;
    data['popPolicyTag'] = this.popPolicyTag;
    data['discountShare'] = this.discountShare;
    data['staDate'] = this.staDate;
    data['popEventId'] = this.popEventId;
    data['poprowNo'] = this.poprowNo;
    return data;
  }
}

class LimitedPays {
  num? crdLength;
  num? crdLocation;
  String? describe;
  num? eventId;
  String? mode;
  String? payCode;
  String? payName;
  num? policyId;
  num? popzkl;

  LimitedPays(
      {this.crdLength,
        this.crdLocation,
        this.describe,
        this.eventId,
        this.mode,
        this.payCode,
        this.payName,
        this.policyId,
        this.popzkl});

  LimitedPays.fromJson(Map<String, dynamic> json) {
    crdLength = json['crdLength'];
    crdLocation = json['crdLocation'];
    describe = json['describe'];
    eventId = json['eventId'];
    mode = json['mode'];
    payCode = json['payCode'];
    payName = json['payName'];
    policyId = json['policyId'];
    popzkl = json['popzkl'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['crdLength'] = this.crdLength;
    data['crdLocation'] = this.crdLocation;
    data['describe'] = this.describe;
    data['eventId'] = this.eventId;
    data['mode'] = this.mode;
    data['payCode'] = this.payCode;
    data['payName'] = this.payName;
    data['policyId'] = this.policyId;
    data['popzkl'] = this.popzkl;
    return data;
  }
}

class GiftGroupList {
  List<GiftGroup>? giftGroup;
  int? groupId;

  GiftGroupList({this.giftGroup, this.groupId});

  GiftGroupList.fromJson(Map<String, dynamic> json) {
    if (json['giftGroup'] != null) {
      giftGroup =  <GiftGroup>[];
      json['giftGroup'].forEach((v) {
        giftGroup!.add(new GiftGroup.fromJson(v));
      });
    }
    groupId = json['groupId'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    if (this.giftGroup != null) {
      data['giftGroup'] = this.giftGroup!.map((v) => v.toJson()).toList();
    }
    data['groupId'] = this.groupId;
    return data;
  }
}

class GiftGroup {
  num? baseQty;
  String? code;
  String? codeJson;
  String? codeMode;
  num? eventId;
  String? extjjg;
  String? group;
  String? groupSelect;
  String? guid;
  num? limitQty;
  num? localinputsl;
  num? maxQty;
  String? mode;
  String? name;
  num? policyId;
  num? popLsj;
  String? prcMode;
  num? qty;
  String? relate;
  num? seqNo;
  num? giftMoney;

  GiftGroup(
      {this.baseQty,
        this.code,
        this.codeJson,
        this.codeMode,
        this.eventId,
        this.extjjg,
        this.group,
        this.groupSelect,
        this.guid,
        this.limitQty,
        this.localinputsl,
        this.maxQty,
        this.mode,
        this.name,
        this.policyId,
        this.popLsj,
        this.prcMode,
        this.qty,
        this.relate,
        this.seqNo,
        this.giftMoney
      });

  GiftGroup.fromJson(Map<String, dynamic> json) {
    baseQty = json['baseQty'];
    code = json['code'];
    codeJson = json['codeJson'];
    codeMode = json['codeMode'];
    eventId = json['eventId'];
    extjjg = json['extjjg'];
    group = json['group'];
    groupSelect = json['groupSelect'];
    guid = json['guid'];
    limitQty = json['limitQty'];
    localinputsl = json['localinputsl'];
    maxQty = json['maxQty'];
    mode = json['mode'];
    name = json['name'];
    policyId = json['policyId'];
    popLsj = json['popLsj'];
    prcMode = json['prcMode'];
    qty = json['qty'];
    relate = json['relate'];
    seqNo = json['seqNo'];
    giftMoney = json['giftMoney'];

  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['baseQty'] = this.baseQty;
    data['code'] = this.code;
    data['codeJson'] = this.codeJson;
    data['codeMode'] = this.codeMode;
    data['eventId'] = this.eventId;
    data['extjjg'] = this.extjjg;
    data['group'] = this.group;
    data['groupSelect'] = this.groupSelect;
    data['guid'] = this.guid;
    data['limitQty'] = this.limitQty;
    data['localinputsl'] = this.localinputsl;
    data['maxQty'] = this.maxQty;
    data['mode'] = this.mode;
    data['name'] = this.name;
    data['policyId'] = this.policyId;
    data['popLsj'] = this.popLsj;
    data['prcMode'] = this.prcMode;
    data['qty'] = this.qty;
    data['relate'] = this.relate;
    data['seqNo'] = this.seqNo;
    data['giftMoney'] = this.giftMoney;
    return data;
  }
}

class RebatecodeheadList {
  num? auditdate;
  String? auditor;
  num? entId;
  String? erpCode;
  String? flag;
  num? hid;
  String? inpuror;
  num? inputdate;
  num? rhedate;
  String? rhid;
  String? rhname;
  double? rhrate;
  num? rhsdate;
  String? rhstatus;
  String? rhtype;
  num? rhyyszkfd;
  num? rhzkfd;

  RebatecodeheadList(
      {this.auditdate,
        this.auditor,
        this.entId,
        this.erpCode,
        this.flag,
        this.hid,
        this.inpuror,
        this.inputdate,
        this.rhedate,
        this.rhid,
        this.rhname,
        this.rhrate,
        this.rhsdate,
        this.rhstatus,
        this.rhtype,
        this.rhyyszkfd,
        this.rhzkfd});

  RebatecodeheadList.fromJson(Map<String, dynamic> json) {
    auditdate = json['auditdate'];
    auditor = json['auditor'];
    entId = json['entId'];
    erpCode = json['erpCode'];
    flag = json['flag'];
    hid = json['hid'];
    inpuror = json['inpuror'];
    inputdate = json['inputdate'];
    rhedate = json['rhedate'];
    rhid = json['rhid'];
    rhname = json['rhname'];
    rhrate = json['rhrate'];
    rhsdate = json['rhsdate'];
    rhstatus = json['rhstatus'];
    rhtype = json['rhtype'];
    rhyyszkfd = json['rhyyszkfd'];
    rhzkfd = json['rhzkfd'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['auditdate'] = this.auditdate;
    data['auditor'] = this.auditor;
    data['entId'] = this.entId;
    data['erpCode'] = this.erpCode;
    data['flag'] = this.flag;
    data['hid'] = this.hid;
    data['inpuror'] = this.inpuror;
    data['inputdate'] = this.inputdate;
    data['rhedate'] = this.rhedate;
    data['rhid'] = this.rhid;
    data['rhname'] = this.rhname;
    data['rhrate'] = this.rhrate;
    data['rhsdate'] = this.rhsdate;
    data['rhstatus'] = this.rhstatus;
    data['rhtype'] = this.rhtype;
    data['rhyyszkfd'] = this.rhyyszkfd;
    data['rhzkfd'] = this.rhzkfd;
    return data;
  }
}

class ExceptPays {
  String? copType;
  List<CrdInfo>? crdInfo;
  String? describe;
  num? eventId;
  String? mode;
  String? payCode;
  String? payName;
  String? payType;
  num? policyId;
  String? popMode;
  double? popzkl;
  bool? isSelect = false;//pda新加
  ExceptPays(
      {this.copType,
        this.crdInfo,
        this.describe,
        this.eventId,
        this.mode,
        this.payCode,
        this.payName,
        this.payType,
        this.policyId,
        this.popMode,
        this.popzkl,
        this.isSelect
      });

  ExceptPays.fromJson(Map<String, dynamic> json) {
    copType = json['copType'];
    if (json['crdInfo'] != null) {
      crdInfo =  <CrdInfo>[];
      json['crdInfo'].forEach((v) {
        crdInfo!.add(new CrdInfo.fromJson(v));
      });
    }
    describe = json['describe'];
    eventId = json['eventId'];
    mode = json['mode'];
    payCode = json['payCode'];
    payName = json['payName'];
    payType = json['payType'];
    policyId = json['policyId'];
    popMode = json['popMode'];
    popzkl = json['popzkl'];
    isSelect = json['isSelect'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['copType'] = this.copType;
    if (this.crdInfo != null) {
      data['crdInfo'] = this.crdInfo!.map((v) => v.toJson()).toList();
    }
    data['describe'] = this.describe;
    data['eventId'] = this.eventId;
    data['mode'] = this.mode;
    data['payCode'] = this.payCode;
    data['payName'] = this.payName;
    data['payType'] = this.payType;
    data['policyId'] = this.policyId;
    data['popMode'] = this.popMode;
    data['popzkl'] = this.popzkl;
    data['isSelect'] = this.isSelect;
    return data;
  }
}

class CrdInfo {
  num? crdLength;
  num? crdLocation;
  String? memo;
  String? crdBegin;
  String? crdEnd;

  CrdInfo({this.crdLength, this.crdLocation, this.memo,this.crdBegin,this.crdEnd,});

  CrdInfo.fromJson(Map<String, dynamic> json) {
    crdLength = json['crdLength'];
    crdLocation = json['crdLocation'];
    memo = json['memo'];
    crdBegin = json['crdBegin'];
    crdEnd = json['crdEnd'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['crdLength'] = this.crdLength;
    data['crdLocation'] = this.crdLocation;
    data['memo'] = this.memo;
    data['crdBegin'] = this.crdBegin;
    data['crdEnd'] = this.crdEnd;
    return data;
  }
}
class DeletedGoods {
  String? barNo;
  String? goodsCode;
  String? goodsName;
  String? goodsNo;
  num? qty;
  num? saleAmount;

  DeletedGoods({this.barNo, this.goodsCode, this.goodsName,this.goodsNo,this.qty,this.saleAmount});

  DeletedGoods.fromJson(Map<String, dynamic> json) {
    barNo = json['barNo'];
    goodsCode = json['goodsCode'];
    goodsName = json['goodsName'];
    goodsNo = json['goodsNo'];
    qty = json['qty'];
    saleAmount = json['saleAmount'];

  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['barNo'] = this.barNo;
    data['goodsCode'] = this.goodsCode;
    data['goodsName'] = this.goodsName;
    data['goodsNo'] = this.goodsNo;
    data['qty'] = this.qty;
    data['saleAmount'] = this.saleAmount;
    return data;
  }
}

class CouponGain{
  String? couponName;
  String? couponGroup;
  num? cashCost;
  num? available;
  String? media;
  String?  expDate;
  String? effDate;
  String? couponclass;
  num? balance;
  num? rate;
  String? couponType;
  num? limit;
  num? cash;
  num? eventId;
  num? amount;
  num? pointExchangeMoney;
  num? policyId;
  num? couponPolicyId;
  num? faceValue;
  num? qty;
  num? pointExchange;
  String? describe;
  String? account;

  CouponGain({
    this.couponName,
    this.couponGroup,
    this.cashCost,
    this.available,
    this.media,
    this.expDate,
    this.effDate,
    this.couponclass,
    this.balance,
    this.rate,
    this.couponType,
    this.limit,
    this.cash,
    this.eventId,
    this.amount,
    this.pointExchangeMoney,
    this.policyId,
    this.couponPolicyId,
    this.faceValue,
    this.qty,
    this.pointExchange,
    this.describe,
    this.account
  });

  CouponGain.fromJson(Map<String, dynamic> json) {
    couponName = json['couponName'];
    couponGroup = json['couponGroup'];
    cashCost = json['cashCost'];
    available = json['available'];
    media = json['media'];
    expDate = json['expDate'];
    effDate = json['effDate'];
    couponclass = json['couponclass'];
    balance = json['balance'];
    rate = json['rate'];
    couponType = json['couponType'];
    limit = json['limit'];
    cash = json['cash'];
    eventId = json['eventId'];
    amount = json['amount'];
    pointExchangeMoney = json['pointExchangeMoney'];
    policyId = json['policyId'];
    couponPolicyId = json['couponPolicyId'];
    faceValue = json['faceValue'];
    qty = json['qty'];
    pointExchange = json['pointExchange'];
    describe = json['describe'];
    account = json['account'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['couponName'] = this.couponName;
    data['couponGroup'] = this.couponGroup;
    data['cashCost'] = this.cashCost;
    data['available'] = this.available;
    data['media'] = this.media;
    data['expDate'] = this.expDate;
    data['effDate'] = this.effDate;
    data['couponclass'] = this.couponclass;
    data['balance'] = this.balance;
    data['rate'] = this.rate;
    data['couponType'] = this.couponType;
    data['limit'] = this.limit;
    data['cash'] = this.cash;
    data['eventId'] = this.eventId;
    data['amount'] = this.amount;
    data['pointExchangeMoney'] = this.pointExchangeMoney;
    data['policyId'] = this.policyId;
    data['couponPolicyId'] = this.couponPolicyId;
    data['faceValue'] = this.faceValue;
    data['qty'] = this.qty;
    data['pointExchange'] = this.pointExchange;
    data['describe'] = this.describe;
    data['account'] = this.account;
    return data;
  }
}

class CouponDetails{
  num? restNumDay;
  String? srcAcctno;
  String? couponName;
  String? couponGroup;
  String? couponNeedPwd;
  num?  cashCost;
  num? available;
  num? totnum;
  String? expDate;
  String? mode;
  String? effDate;
  String? couponclass;
  num? balance;
  bool? aeonStamp;
  num? rate;
  String? couponType;
  num? limit;
  num? cash;
  String? couponEventScd;
  num? eventId;
  num? amount;
  num? pointExchangeMoney;
  String? consumersId;
  String? couponIsCash;
  num? policyId;
  num? couponPolicyId;
  num? faceValue;
  num? qty;
  num? pointExchange;
  String? payCode;
  String? account;

  CouponDetails({
    this.restNumDay,
    this.srcAcctno,
    this.couponName,
    this.couponGroup,
    this.couponNeedPwd,
    this.cashCost,
    this.available,
    this.totnum,
    this.expDate,
    this.mode,
    this.effDate,
    this.couponclass,
    this.balance,
    this.aeonStamp,
    this.rate,
    this.couponType,
    this.limit,
    this.cash,
    this.couponEventScd,
    this.eventId,
    this.amount,
    this.pointExchangeMoney,
    this.consumersId,
    this.couponIsCash,
    this.policyId,
    this.couponPolicyId,
    this.faceValue,
    this.qty,
    this.pointExchange,
    this.payCode,
    this.account,
  });

  CouponDetails.fromJson(Map<String, dynamic> json) {
    restNumDay = json['restNumDay'];
    srcAcctno = json['srcAcctno'];
    couponName = json['couponName'];
    couponGroup = json['couponGroup'];
    couponNeedPwd = json['couponNeedPwd'];
    cashCost = json['cashCost'];
    available = json['available'];
    totnum = json['totnum'];
    expDate = json['expDate'];
    mode = json['mode'];
    effDate = json['effDate'];
    couponclass = json['couponclass'];
    balance = json['balance'];
    aeonStamp = json['aeonStamp'];
    rate = json['rate'];
    couponType = json['couponType'];
    limit = json['limit'];
    cash = json['cash'];
    couponEventScd = json['couponEventScd'];
    eventId = json['eventId'];
    amount = json['amount'];
    pointExchangeMoney = json['pointExchangeMoney'];
    consumersId = json['consumersId'];
    couponIsCash = json['couponIsCash'];
    policyId = json['policyId'];
    couponPolicyId = json['couponPolicyId'];
    faceValue = json['faceValue'];
    qty = json['qty'];
    pointExchange = json['pointExchange'];
    payCode = json['payCode'];
    account = json['account'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['restNumDay'] = this.restNumDay;
    data['srcAcctno'] = this.srcAcctno;
    data['couponName'] = this.couponName;
    data['couponGroup'] = this.couponGroup;
    data['couponNeedPwd'] = this.couponNeedPwd;
    data['cashCost'] = this.cashCost;
    data['available'] = this.available;
    data['totnum'] = this.totnum;
    data['expDate'] = this.expDate;
    data['mode'] = this.mode;
    data['effDate'] = this.effDate;
    data['couponclass'] = this.couponclass;
    data['balance'] = this.balance;
    data['aeonStamp'] = this.couponName;
    data['rate'] = this.rate;
    data['couponType'] = this.couponType;
    data['limit'] = this.limit;
    data['cash'] = this.cash;
    data['couponEventScd'] = this.couponEventScd;
    data['eventId'] = this.eventId;
    data['amount'] = this.amount;
    data['pointExchangeMoney'] = this.pointExchangeMoney;
    data['consumersId'] = this.consumersId;
    data['couponIsCash'] = this.couponIsCash;
    data['policyId'] = this.policyId;
    data['couponPolicyId'] = this.couponPolicyId;
    data['faceValue'] = this.faceValue;
    data['qty'] = this.qty;
    data['pointExchange'] = this.pointExchange;
    data['payCode'] = this.payCode;
    data['account'] = this.account;
    return data;
  }
}

//class NoPriceGiftList {
//  int groupId;
//
//  NoPriceGiftList({this.groupId});
//
//  NoPriceGiftList.fromJson(Map<String, dynamic> json) {
//    groupId = json['groupId'];
//  }
//
//  Map<String, dynamic> toJson() {
//    final Map<String, dynamic> data = new Map<String, dynamic>();
//    data['groupId'] = this.groupId;
//    return data;
//  }
//}